﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using JohnnySins.Entities;
using Dapper;

namespace JohnnySins.DAL.Repositories
{
    public class ParameterSiteRepository : BaseRepository<ParameterSite>
    {
        public ParameterSite Find(string parameterName)
        {
            return Connection.Query<ParameterSite>(
                @"  SELECT p.ParameterName, p.ParameterValueStr, p.ParameterValueDate
                    FROM [ParameterSite] (nolock) p
                    WHERE p.ParameterName = @ParameterName", new { ParameterName = parameterName }).SingleOrDefault();
        }

        public void Edit(ParameterSite parameter)
        {
            Connection.Execute("spParameterSiteEdit @ParameterName, @ParameterValueStr, @ParameterValueDate",
                new
                {
                    ParameterName = parameter.ParameterName,
                    ParameterValueStr = parameter.ParameterValueStr,
                    ParameterValueDate = parameter.ParameterValueDate
                });
        }

        public string FindString(string parameterName, string defaultValue)
        {
            ParameterSite itm = Find(parameterName);
            if (itm != null)
            {
                if (!string.IsNullOrEmpty(itm.ParameterValueStr))
                    return itm.ParameterValueStr;
                else
                    return defaultValue;
            }
            else
                return defaultValue;
        }

        public int FindInt(string parameterName, int defaultValue)
        {
            return Convert.ToInt32(FindString(parameterName, defaultValue.ToString()));
        }
    }
}
